From: Mike Baker Date: Sat, 4 Nov 2006 03:01:32 +0000 (+0000) Subject: block interrupts on reset (avoids triggering hotplug button interrupts) X-Git-Tag: whiterussian_rc6~8 X-Git-Url: http://git.openwrt.org/%22https:/collectd.org///%22https:/collectd.org/?a=commitdiff_plain;h=d7138fb22ab0c5d66cc977b69f24cb7c9ee2e2e7;p=openwrt%2Fsvn-archive%2Fopenwrt.git block interrupts on reset (avoids triggering hotplug button interrupts) SVN-Revision: 5437 --- diff --git a/openwrt/target/linux/package/switch/src/switch-adm.c b/openwrt/target/linux/package/switch/src/switch-adm.c index 8d27120018..113138a8fd 100644 --- a/openwrt/target/linux/package/switch/src/switch-adm.c +++ b/openwrt/target/linux/package/switch/src/switch-adm.c @@ -430,6 +430,8 @@ static int handle_reset(void *driver, char *buf, int nr) * sequence in software. */ if (eerc) { + unsigned long flags; + local_irq_save(flags); /* Keep RC high for at least 20ms */ adm_enout(eerc, eerc); for (i = 0; i < 20; i ++) @@ -446,6 +448,7 @@ static int handle_reset(void *driver, char *buf, int nr) udelay(1000); /* Leave RC high and disable GPIO outputs */ adm_disout((__u8)(eecs | eesk | eedi)); + local_irq_restore(flags); }